As used in the world of computing, a “library” is a collection of program resources. A resource in a library is also referred to as a “library”. The value of a library lies in its ability to be re-used. Resources in the library can be used by multiple independent programs or sub-programs. The resources in the library can include already written code, subroutines, classes, type specifications and so on. If the code of the library is accessed during compilation of the invoking program, the library is called a static library. Alternatively, the executable of the invoking program can be distributed independently of the library. A dynamic library is loaded and linked at runtime. Alternatively, during execution, an application may explicitly request to load a particular library resource.
When a library resource is distributed independently of the executable of the program that invokes the library resource, incompatibilities can arise.